home *** CD-ROM | disk | FTP | other *** search
/ Sprite 1984 - 1993 / Sprite 1984 - 1993.iso / man / cmds.fmt / vmcmd.man < prev    next >
Encoding:
Text File  |  1991-03-14  |  11.0 KB  |  267 lines

  1.  
  2.  
  3.  
  4. VMCMD                     User Commands                     VMCMD
  5.  
  6.  
  7.  
  8. _________________________________________________________________
  9.  
  10. NNAAMMEE
  11.      vmcmd - set virtual memory parameters.
  12.  
  13. SSYYNNOOPPSSIISS
  14.      vvmmccmmdd [_o_p_t_i_o_n_s]
  15.  
  16. OOPPTTIIOONNSS
  17.      --aa _f_l_a_g_V_a_l_u_e        If _f_l_a_g_V_a_l_u_e is non-zero then  the  vir-
  18.                          tual  memory  system is forced to always
  19.                          refuse  any  file  system  requests  for
  20.                          memory.
  21.  
  22.      --AA _f_l_a_g_V_a_l_u_e        If _f_l_a_g_V_a_l_u_e is non-zero then  the  vir-
  23.                          tual  memory  system is forced to always
  24.                          satisfy  any  file  system  request  for
  25.                          memory as long as it is possible.
  26.  
  27.      --cc _p_a_g_e_s_T_o_C_h_e_c_k     The number of pages to check during each
  28.                          interation of the clock algorithm is set
  29.                          to _p_a_g_e_s_T_o_C_h_e_c_k .
  30.  
  31.      --CC _f_l_a_g_V_a_l_u_e        If _f_l_a_g_V_a_l_u_e is non-zero  then  copy-on-
  32.                          write is enabled.
  33.  
  34.      --ff _f_l_a_g_V_a_l_u_e        If _f_l_a_g_V_a_l_u_e is non-zero then pages  are
  35.                          freed as soon as they are cleaned.
  36.  
  37.      --FF _p_e_n_a_l_t_y          If _p_e_n_a_l_t_y is less than  zero  then  the
  38.                          file  system  is forced to pay a penalty
  39.                          of -_p_e_n_a_l_t_y seconds when  asking  for  a
  40.                          page.  If it is greater than or equal to
  41.                          zero then the penalty is  used  in  con-
  42.                          junction with the --nn option.
  43.  
  44.      --ffssrreesseett            Reset the recorded minimum  and  maximum
  45.                          size  of  the  file  system cache to the
  46.                          current size.
  47.  
  48.      --xx _s_e_g_N_u_m           Segment _s_e_g_N_u_m is flushed  from  memory;
  49.                          the --hh and --ll options can be used to set
  50.                          upper and lower bounds  respectively  on
  51.                          the pages that are flushed.
  52.  
  53.      --hh _p_a_g_e_N_u_m          The highest page that can be flushed  is
  54.                          _p_a_g_e_N_u_m when using --xx option.
  55.  
  56.      --ll _f_l_a_g_V_a_l_u_e        The lowest page that can be  flushed  is
  57.                          _p_a_g_e_N_u_m when using --xx option.
  58.  
  59.      --nn _n_u_m_G_r_o_u_p_s        The number of groups  to  divide  memory
  60.  
  61.  
  62.  
  63. Sprite v.1.0        Printed:  March 14, 1991                    1
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70. VMCMD                     User Commands                     VMCMD
  71.  
  72.  
  73.  
  74.                          into  when assessing a penalty is set to
  75.                          _n_u_m_G_r_o_u_p_s.
  76.  
  77.      --pp _p_a_g_e_O_u_t_P_r_o_c_s     The number of processes  used  to  write
  78.                          back pages is set to _p_a_g_e_O_u_t_P_r_o_c_s.
  79.  
  80.      --PP _f_l_a_g_V_a_l_u_e        If  _f_l_a_g_V_a_l_u_e  is  non-zero  then   pre-
  81.                          fetching is turned on.
  82.  
  83.      --rr _f_l_a_g_V_a_l_u_e        If _f_l_a_g_V_a_l_u_e is non-zero then pages that
  84.                          are  copied because of copy-on-reference
  85.                          faults are made read-only until they get
  86.                          modified.
  87.  
  88.      --RR _f_l_a_g_V_a_l_u_e        If _f_l_a_g_V_a_l_u_e is non-zero then  the  vir-
  89.                          tual  memory  system  will  try  to take
  90.                          advantage  of  the  file  system's  read
  91.                          ahead policy.
  92.  
  93.      --ss _n_u_m_S_e_c_o_n_d_s       The number of seconds between iterations
  94.                          of the clock algorithm is set to be _n_u_m_-
  95.                          _S_e_c_o_n_d_s.
  96.  
  97.      --tt _t_r_a_c_e_s_P_e_r_S_e_c     Virtual memory tracing is turned  on  at
  98.                          the  rate  of  _t_r_a_c_e_s_P_e_r_S_e_c  traces  per
  99.                          second.
  100.  
  101.      --TT                  Virtual memory tracing is turned off.
  102.  
  103.      --ee nn [[ --XX nn22 ]]      Hook for extra commands.  This  executes
  104.                          _V_m__C_m_d(_n,_n_2), with _n_2 defaulting to 0.
  105.  
  106. _________________________________________________________________
  107.  
  108.  
  109. IINNTTRROODDUUCCTTIIOONN
  110.      This command sets various parameters of the  virtual  memory
  111.      system.  It is implemented using the Vm_Cmd system call.  It
  112.      controls behavior of the virtual memory system in  7  areas:
  113.      virtual  memory  and file system negotiation, virtual memory
  114.      tracing, the speed of the clock algorithm, flushing of  seg-
  115.      ments,   prefetch,  copy-on-write  and  other  miscellaneous
  116.      things.
  117.  
  118. VVMM--FFSS NNEEGGOOTTIIAATTIIOONN
  119.      There are four options to vvmmccmmdd that can be used to  control
  120.      the  negotiation  between  the virtual memory system and the
  121.      file system.  The most interesting  are  the  options  which
  122.      allow  the file  system to be penalized relative to the vir-
  123.      tual memory system.  The --FF and --nn options are used to  con-
  124.      trol  the  penalty.   The  simplest way to penalize the file
  125.      system is to supply the --FF _p_e_n_a_l_t_y option  with  a  negative
  126.      number.  In  this  case  the file system is penalized by the
  127.      absolute value of _p_e_n_a_l_t_y each time that it asks for memory.
  128.  
  129.  
  130.  
  131. Sprite v.1.0        Printed:  March 14, 1991                    2
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138. VMCMD                     User Commands                     VMCMD
  139.  
  140.  
  141.  
  142.      The  penalty  is  assessed  by adding _p_e_n_a_l_t_y seconds to the
  143.      access time of each VM page so that the  VM  pages  seem  to
  144.      have been used more recently than they really have.
  145.  
  146.      The --nn _n_u_m_G_r_o_u_p_s option  gives  a  more  complex  method  of
  147.      penalizing  the file system.  With this option the number of
  148.      available pages are divided up into _n_u_m_G_r_o_u_p_s groups.   When
  149.      the  file  system asks for memory the penalty depends on how
  150.      many pages that it already has.  Its penalty is assessed as
  151.  
  152.           (_c_u_r_r_e_n_t-_n_u_m_b_e_r-_o_f-_p_a_g_e_s / _n_u_m_G_r_o_u_p_s) * _p_e_n_a_l_t_y
  153.  
  154.      seconds.
  155.  
  156.      There are two other ways to effect  the  VM-FS  negotiation.
  157.      The --aa option can be used to force the virtual memory system
  158.      to always refuse to give memory to the file system.  The  --AA
  159.      can  be  used  to force the virtual memory sysytem to always
  160.      satisfy the file system's requests for  memory  as  long  as
  161.      they are feasible.  These options are designed to be used to
  162.      determine the effect of different polices on VM and FS nego-
  163.      tiation.
  164.  
  165. TTRRAACCIINNGG
  166.      The virtual memory system has the ability to  trace  segment
  167.      creation and destruction, reference and modify bit use, page
  168.      faults and copy-on-write behavior.   Tracing  is  turned  on
  169.      with  --tt  _t_r_a_c_e_P_e_r_S_e_c  option.   Once  tracing  is turned on
  170.      everything but the reference and modify bit traces  will  be
  171.      traced as it occurs.  However, the reference and modify bits
  172.      are traced by scanning the hardware  page  maps  _t_r_a_c_e_P_e_r_S_e_c
  173.      times  per second.  The output of the trace is stored in the
  174.      file ``/sprite/vmtrace/tfile._h_o_s_t-_i_d'' where _h_o_s_t-_i_d is  the
  175.      sprite  id  for the host.  Tracing is terminated with the --TT
  176.      option.
  177.  
  178. CCLLOOCCKK
  179.      The virtual memory system keeps  all  pages  in  approximate
  180.      least-recently-used  (LRU)  order  by using a version of the
  181.      clock algorithm.  The  clock  algorithm  is  implemented  by
  182.      scanning  a  given  number  of  pages  in  memory  every few
  183.      seconds.  The number of pages that are scanned  can  be  set
  184.      with  the --cc _p_a_g_e_s_T_o_C_h_e_c_k option and how often the pages are
  185.      scanned can be set  with  the  --ss  _n_u_m_S_e_c_o_n_d_s  option.   The
  186.      result  is  that  _p_a_g_e_s_T_o_C_h_e_c_k  pages are checked every _n_u_m_-
  187.      _S_e_c_o_n_d_s.
  188.  
  189. FFLLUUSSHHIINNGG
  190.      In order to allow measurement of the performance of the vir-
  191.      tual memory system, vvmmccmmdd allows segments to be flushed from
  192.      memory.  When a segment is flushed dirty pages  are  written
  193.      to  swap space and the pages in the segment are removed from
  194.  
  195.  
  196.  
  197. Sprite v.1.0        Printed:  March 14, 1991                    3
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204. VMCMD                     User Commands                     VMCMD
  205.  
  206.  
  207.  
  208.      memory.  The --xx _s_e_g_N_u_m option is used to specify which  seg-
  209.      ment  to  flush  and  the  --ll  _l_o_w_P_a_g_e_N_u_m and --hh _h_i_g_h_P_a_g_e_N_u_m
  210.      options are used to specify the range of pages to flush.  By
  211.      default  the  lowest page to flush is the lowest page in the
  212.      segment and the highest is the highest page in the  segment.
  213.      However,  the --ll or --hh options can be used to set the lowest
  214.      page to _l_o_w_P_a_g_e_N_u_m and the highest  to  _h_i_g_h_P_a_g_e_N_u_m  respec-
  215.      tively.
  216.  
  217. PPRREEFFEETTCCHH
  218.      Both the virtual memory system and the file system implement
  219.      prefetch.   Virtual  memory prefetch can be turned on or off
  220.      by using the --PP _f_l_a_g_V_a_l_u_e option; if _f_l_a_g_V_a_l_u_e  is  non-zero
  221.      then prefetching is enabled and if it is zero prefetching is
  222.      disabled.  Likewise whether or not the virtual memory system
  223.      takes advantage of the file system's prefetech can be deter-
  224.      mined with the --RR _f_l_a_g_V_a_l_u_e option; non-zero  means  use  FS
  225.      prefetch, 0 means don't use it.
  226.  
  227. CCOOPPYY--OONN--WWRRIITTEE
  228.      Copy-on-write can be turned  on  or  off  by  using  the  --CC
  229.      _f_l_a_g_V_a_l_u_e  option.   If  _f_l_a_g_V_a_l_u_e is non-zero then copy-on-
  230.      write is enabled and if it zero copy-on-write is disabled.
  231.  
  232. MMIISSCCEELLLLAANNEEOOUUSS
  233.      There are two other parameters of the virtual memory  system
  234.      that  can  be  set with vvmmccmmdd.  The number of processes that
  235.      are used to write out dirty pages can be  set  with  the  --pp
  236.      _p_a_g_e_O_u_t_P_r_o_c_s option.  Whether or not memory is freed once it
  237.      gets to the front of the allocate list or it is  left  alone
  238.      until  it  has  to  be  recycled  is  controlled with the --ff
  239.      _f_l_a_g_V_a_l_u_e option; if _f_l_a_g_V_a_l_u_e is non-zero  then  pages  are
  240.      freed  once  they are cleaned and if it is zero pages remain
  241.      on the front of the allocate list after they are cleaned.
  242.  
  243. KKEEYYWWOORRDDSS
  244.      virtual memory
  245.  
  246.  
  247.  
  248.  
  249.  
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263. Sprite v.1.0        Printed:  March 14, 1991                    4
  264.  
  265.  
  266.  
  267.